草庐IT

JavaFX 文本字段 CSS

全部标签

go - 有没有办法访问结构字段之类的接口(interface)或使用相同字段更改类型(不同结构)

两个/多个不同的数据集,每个数据都需要它自己的结构用于不同的功能,并且这两个/多个数据结构集共享相同的字段。我怎样才能将这两组数据(不同类型)结合起来,并且可以被另一个需要从每组数据中访问的函数调用。packagemainimport"fmt"typePlantsstruct{NamestringAgeint}typeAnimalstruct{NamestringAgeint}typeGeneralstruct{NamestringAgeint}func(a*Animal)AnimalHealth(){fmt.Printf("Animal:%sis%+vyearsoldwhoisinh

reflection - 在 Go 中获取空结构 slice 的字段

我有一个函数func(r*render)foo(vinterface{}){val:=reflect.ValueOf(v)fields:=structs.Fields(val.Index(0).Interface())...它接受一片结构并尝试获取v的字段,但是,如果v为空,则“val.Index(0)”会使程序崩溃。有更好的方法吗? 最佳答案 你需要先检查你是否有一个slice开始,然后检查你是否有一个空slice,你可能应该检查你是否也有一个结构:(example)val:=reflect.ValueOf(v)ifval.Kin

go - 使用 reflect 遍历 go struct 字段与 case map[string]interface{} 不匹配

我有一个不寻常的任务:1.将json消息解析为Gostruct2.验证JSON中的所有字段是否在特定限制内:-字符串字段长度不再固定不变-map包含的元素不超过固定数量-如果映射键的值是嵌套结构,则验证以上2条规则为此,我使用反射,然后遍历元素,并进行类型检查:-如果是int或float-无事可做-无验证-如果是字符串-验证长度(如果失败则返回)-如果map验证map长度(如果失败则返回),然后迭代map值并递归检查它们的字段是否违反string/map规则-默认(我假设这是struct嵌套的JSON结构):将其转换为接口(interface)slice并进行递归调用。问题:在JSON

go - 遍历 []interfaces{} 并获取每种类型的 channel 字段

我会先在脑海中尽可能清楚地说明这一点。我有一个接口(interface)和几个类型,它们通过声明一个方法来继承它。非常好的和聪明的继承方式。然后我有一个“super”类型Thing,所有其他类型都嵌入了它。Thing结构有一个Sizeint和一个Outchan属性我想了解的是为什么我可以从两个子结构中获取大小.GetSize()的值,但我在channel字段上却没有同样的成功.GetChannel()(*ndr,我用它来在goroutine和它们的调用者之间进行通信)...这里我得到t.GetChannel未定义(类型Measurable没有字段或方法GetChannel)它可能有助于

go - 如何仅将函数的返回值分配给 golang 中的结构字段?

这个问题在这里已经有了答案:Multiplevaluesinsingle-valuecontext(6个答案)关闭4年前。假设我们有这样一个结构:typeDatastruct{aint}而我们想要获取一个返回多个值的函数的单个返回值,并将其赋值给一个Data对象,例如data:=Data{a:strconv.Atoi("1000")}上面的代码不起作用,因为Atoi返回两个值,一个数字和一个错误,所以我们需要以某种方式处理额外的值(错误),但在我的例子中,我不需要评估错误值,它是无法使用_关键字关闭它。在初始化一个结构体时,我想去掉错误的返回值,我该如何实现

go - 如何确保在结构中定义字段?

这可能有点傻,如果是的话,我深表歉意,但我如何保证在我可以使用它之前在结构中定义了一个字段?让我用例子来解释一下:packagemainimport("fmt")typeanimalstruct{namestringactivityfunc()}varelephant=animal{name:"elephant",activity:func(){fmt.Println("Eatgrass")fmt.Println("Stampede")},}varlemur=animal{name:"lemur",activity:func(){fmt.Println("Eatfruits")fmt.

go - 您可以通过 json 键字段动态迭代 Go 中的结构字段吗?

typeParamsstruct{MyNumstring`json:"req_num"`}所以我需要将MyNum的值分配给另一个变量,给定一个“req_num”字符串键,用于我在beego框架。这在Go中是否可行?如果可行,如何实现?我查看了反射库,找不到方法。这是我正在尝试做的一个例子。params是一个Params类型的变量,MyNum的值初始化为“123”让我们说。f目前没有得到“123”。当我将其记录到控制台时,它显示""。b:="req_num"r:=reflect.ValueOf(params)f:=reflect.Indirect(r).FieldByName(b)编辑:

json - Golang 取消设置结构字段

在Golang中,我有以下具有三个字段的结构typePersonstruct{namestringageintrankint}对于处理,我需要一个排名字段,但对于输出,我想从结构中排除排名字段,因为我直接将上述结构传递给JSON编码器以抛出响应。有什么方法可以取消Struct中的rank字段设置? 最佳答案 要取消设置字段,请为其分配零值,例如:varpPersonp.rank=0还知道,如果你想使用Person来处理JSON,你必须导出字段,未导出的字段不会被encoding/json包处理,所以将Person更改为:typePe

unit-testing - 如何在不同的包中测试未导出的结构字段?

我有一个用工厂创建对象的包。结构具有未导出的字段,例如:packagefetchertypeGitFetcherstruct{uristring}我有另一个包,它解析一些配置文件,然后构建另一个使用上述对象的对象:packageconfigtypeSourcestruct{fetcherGitFetcher}我正在尝试测试我的config包。我想构建一些预期的对象,但由于我的测试在config中,而我的GitFetcher在fetcher中,我不能只创建对象我想要,例如:packageconfigexpected:=GitFetcher{uri:"example.com/repo.gi

go - Go中乌尔都语文本的编码

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭4年前。Improvethisquestion我有乌尔都语文本,我想用Go对其进行编码。用户名是这样的username:=`ابوناصرالحرسانی`我阅读了Go的编码包,但无法获得我想要的结果。我想读取该变量的所有字节和字符串等效编码值。